/*
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 * in compliance with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing permissions and limitations under
 * the License.
 */
/*
 * This code was generated by https://code.google.com/p/google-apis-client-generator/
 * (build: 2014-07-22 21:53:01 UTC)
 * on 2014-08-21 at 06:12:47 UTC 
 * Modify at your own risk.
 */

package com.urlisit.siteswrapper.cloud.model.pageendpoint.model;

/**
 * Model definition for Page.
 *
 * <p> This is the Java data model class that specifies how to parse/serialize into the JSON that is
 * transmitted over HTTP when working with the pageendpoint. For a detailed explanation see:
 * <a href="http://code.google.com/p/google-http-java-client/wiki/JSON">http://code.google.com/p/google-http-java-client/wiki/JSON</a>
 * </p>
 *
 * @author Google, Inc.
 */
@SuppressWarnings("javadoc")
public final class Page extends com.google.api.client.json.GenericJson {

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String backgroundImageDurationSeconds;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String backgroundImageUrls;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.util.List<java.lang.String> backgroundImages;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String contentColumnOne;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String contentColumnThree;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String contentColumnTwo;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String contentFooter;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String contentHeader;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String contentLayout;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String contentLeftSidebar;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private JsonMap contentMenu;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String contentMenuItemLink;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.util.List<java.lang.String> contentMenuItemLinks;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String contentMenuItemName;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.util.List<java.lang.String> contentMenuItemNames;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String contentMenuStyleSheet;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String contentRightSidebar;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.Boolean customSearchEnabled;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String customSearchUrls;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String displayLogoAs;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key @com.google.api.client.json.JsonString
  private java.lang.Long id;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key @com.google.api.client.json.JsonString
  private java.lang.Long key;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.Boolean languageTranslationEnabled;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String lastmod;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String logoHtml;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String logoImage;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String mainMenuDirection;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String mainMenuSelectedHtml;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String mainMenuSelectionHtml;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String mainMenuType;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String messageBodyText;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String messageDurationSeconds;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String messageHeaderText;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String messageHtmlColorCode;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String messageInformationItem;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String messagePercentOfPageFromLeft;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String messagePercentOfPageFromTop;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String messageWidthPercentOfPage;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String pageName;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String revision;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.Boolean showPageTitle;

  /**
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String translatedLanguages;

  /**
   * @return value or {@code null} for none
   */
  public java.lang.String getBackgroundImageDurationSeconds() {
    return backgroundImageDurationSeconds;
  }

  /**
   * @param backgroundImageDurationSeconds backgroundImageDurationSeconds or {@code null} for none
   */
  public Page setBackgroundImageDurationSeconds(java.lang.String backgroundImageDurationSeconds) {
    this.backgroundImageDurationSeconds = backgroundImageDurationSeconds;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.String getBackgroundImageUrls() {
    return backgroundImageUrls;
  }

  /**
   * @param backgroundImageUrls backgroundImageUrls or {@code null} for none
   */
  public Page setBackgroundImageUrls(java.lang.String backgroundImageUrls) {
    this.backgroundImageUrls = backgroundImageUrls;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.util.List<java.lang.String> getBackgroundImages() {
    return backgroundImages;
  }

  /**
   * @param backgroundImages backgroundImages or {@code null} for none
   */
  public Page setBackgroundImages(java.util.List<java.lang.String> backgroundImages) {
    this.backgroundImages = backgroundImages;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.String getContentColumnOne() {
    return contentColumnOne;
  }

  /**
   * @param contentColumnOne contentColumnOne or {@code null} for none
   */
  public Page setContentColumnOne(java.lang.String contentColumnOne) {
    this.contentColumnOne = contentColumnOne;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.String getContentColumnThree() {
    return contentColumnThree;
  }

  /**
   * @param contentColumnThree contentColumnThree or {@code null} for none
   */
  public Page setContentColumnThree(java.lang.String contentColumnThree) {
    this.contentColumnThree = contentColumnThree;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.String getContentColumnTwo() {
    return contentColumnTwo;
  }

  /**
   * @param contentColumnTwo contentColumnTwo or {@code null} for none
   */
  public Page setContentColumnTwo(java.lang.String contentColumnTwo) {
    this.contentColumnTwo = contentColumnTwo;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.String getContentFooter() {
    return contentFooter;
  }

  /**
   * @param contentFooter contentFooter or {@code null} for none
   */
  public Page setContentFooter(java.lang.String contentFooter) {
    this.contentFooter = contentFooter;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.String getContentHeader() {
    return contentHeader;
  }

  /**
   * @param contentHeader contentHeader or {@code null} for none
   */
  public Page setContentHeader(java.lang.String contentHeader) {
    this.contentHeader = contentHeader;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.String getContentLayout() {
    return contentLayout;
  }

  /**
   * @param contentLayout contentLayout or {@code null} for none
   */
  public Page setContentLayout(java.lang.String contentLayout) {
    this.contentLayout = contentLayout;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.String getContentLeftSidebar() {
    return contentLeftSidebar;
  }

  /**
   * @param contentLeftSidebar contentLeftSidebar or {@code null} for none
   */
  public Page setContentLeftSidebar(java.lang.String contentLeftSidebar) {
    this.contentLeftSidebar = contentLeftSidebar;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public JsonMap getContentMenu() {
    return contentMenu;
  }

  /**
   * @param contentMenu contentMenu or {@code null} for none
   */
  public Page setContentMenu(JsonMap contentMenu) {
    this.contentMenu = contentMenu;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.String getContentMenuItemLink() {
    return contentMenuItemLink;
  }

  /**
   * @param contentMenuItemLink contentMenuItemLink or {@code null} for none
   */
  public Page setContentMenuItemLink(java.lang.String contentMenuItemLink) {
    this.contentMenuItemLink = contentMenuItemLink;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.util.List<java.lang.String> getContentMenuItemLinks() {
    return contentMenuItemLinks;
  }

  /**
   * @param contentMenuItemLinks contentMenuItemLinks or {@code null} for none
   */
  public Page setContentMenuItemLinks(java.util.List<java.lang.String> contentMenuItemLinks) {
    this.contentMenuItemLinks = contentMenuItemLinks;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.String getContentMenuItemName() {
    return contentMenuItemName;
  }

  /**
   * @param contentMenuItemName contentMenuItemName or {@code null} for none
   */
  public Page setContentMenuItemName(java.lang.String contentMenuItemName) {
    this.contentMenuItemName = contentMenuItemName;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.util.List<java.lang.String> getContentMenuItemNames() {
    return contentMenuItemNames;
  }

  /**
   * @param contentMenuItemNames contentMenuItemNames or {@code null} for none
   */
  public Page setContentMenuItemNames(java.util.List<java.lang.String> contentMenuItemNames) {
    this.contentMenuItemNames = contentMenuItemNames;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.String getContentMenuStyleSheet() {
    return contentMenuStyleSheet;
  }

  /**
   * @param contentMenuStyleSheet contentMenuStyleSheet or {@code null} for none
   */
  public Page setContentMenuStyleSheet(java.lang.String contentMenuStyleSheet) {
    this.contentMenuStyleSheet = contentMenuStyleSheet;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.String getContentRightSidebar() {
    return contentRightSidebar;
  }

  /**
   * @param contentRightSidebar contentRightSidebar or {@code null} for none
   */
  public Page setContentRightSidebar(java.lang.String contentRightSidebar) {
    this.contentRightSidebar = contentRightSidebar;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.Boolean getCustomSearchEnabled() {
    return customSearchEnabled;
  }

  /**
   * @param customSearchEnabled customSearchEnabled or {@code null} for none
   */
  public Page setCustomSearchEnabled(java.lang.Boolean customSearchEnabled) {
    this.customSearchEnabled = customSearchEnabled;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.String getCustomSearchUrls() {
    return customSearchUrls;
  }

  /**
   * @param customSearchUrls customSearchUrls or {@code null} for none
   */
  public Page setCustomSearchUrls(java.lang.String customSearchUrls) {
    this.customSearchUrls = customSearchUrls;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.String getDisplayLogoAs() {
    return displayLogoAs;
  }

  /**
   * @param displayLogoAs displayLogoAs or {@code null} for none
   */
  public Page setDisplayLogoAs(java.lang.String displayLogoAs) {
    this.displayLogoAs = displayLogoAs;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.Long getId() {
    return id;
  }

  /**
   * @param id id or {@code null} for none
   */
  public Page setId(java.lang.Long id) {
    this.id = id;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.Long getKey() {
    return key;
  }

  /**
   * @param key key or {@code null} for none
   */
  public Page setKey(java.lang.Long key) {
    this.key = key;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.Boolean getLanguageTranslationEnabled() {
    return languageTranslationEnabled;
  }

  /**
   * @param languageTranslationEnabled languageTranslationEnabled or {@code null} for none
   */
  public Page setLanguageTranslationEnabled(java.lang.Boolean languageTranslationEnabled) {
    this.languageTranslationEnabled = languageTranslationEnabled;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.String getLastmod() {
    return lastmod;
  }

  /**
   * @param lastmod lastmod or {@code null} for none
   */
  public Page setLastmod(java.lang.String lastmod) {
    this.lastmod = lastmod;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.String getLogoHtml() {
    return logoHtml;
  }

  /**
   * @param logoHtml logoHtml or {@code null} for none
   */
  public Page setLogoHtml(java.lang.String logoHtml) {
    this.logoHtml = logoHtml;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.String getLogoImage() {
    return logoImage;
  }

  /**
   * @param logoImage logoImage or {@code null} for none
   */
  public Page setLogoImage(java.lang.String logoImage) {
    this.logoImage = logoImage;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.String getMainMenuDirection() {
    return mainMenuDirection;
  }

  /**
   * @param mainMenuDirection mainMenuDirection or {@code null} for none
   */
  public Page setMainMenuDirection(java.lang.String mainMenuDirection) {
    this.mainMenuDirection = mainMenuDirection;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.String getMainMenuSelectedHtml() {
    return mainMenuSelectedHtml;
  }

  /**
   * @param mainMenuSelectedHtml mainMenuSelectedHtml or {@code null} for none
   */
  public Page setMainMenuSelectedHtml(java.lang.String mainMenuSelectedHtml) {
    this.mainMenuSelectedHtml = mainMenuSelectedHtml;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.String getMainMenuSelectionHtml() {
    return mainMenuSelectionHtml;
  }

  /**
   * @param mainMenuSelectionHtml mainMenuSelectionHtml or {@code null} for none
   */
  public Page setMainMenuSelectionHtml(java.lang.String mainMenuSelectionHtml) {
    this.mainMenuSelectionHtml = mainMenuSelectionHtml;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.String getMainMenuType() {
    return mainMenuType;
  }

  /**
   * @param mainMenuType mainMenuType or {@code null} for none
   */
  public Page setMainMenuType(java.lang.String mainMenuType) {
    this.mainMenuType = mainMenuType;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.String getMessageBodyText() {
    return messageBodyText;
  }

  /**
   * @param messageBodyText messageBodyText or {@code null} for none
   */
  public Page setMessageBodyText(java.lang.String messageBodyText) {
    this.messageBodyText = messageBodyText;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.String getMessageDurationSeconds() {
    return messageDurationSeconds;
  }

  /**
   * @param messageDurationSeconds messageDurationSeconds or {@code null} for none
   */
  public Page setMessageDurationSeconds(java.lang.String messageDurationSeconds) {
    this.messageDurationSeconds = messageDurationSeconds;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.String getMessageHeaderText() {
    return messageHeaderText;
  }

  /**
   * @param messageHeaderText messageHeaderText or {@code null} for none
   */
  public Page setMessageHeaderText(java.lang.String messageHeaderText) {
    this.messageHeaderText = messageHeaderText;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.String getMessageHtmlColorCode() {
    return messageHtmlColorCode;
  }

  /**
   * @param messageHtmlColorCode messageHtmlColorCode or {@code null} for none
   */
  public Page setMessageHtmlColorCode(java.lang.String messageHtmlColorCode) {
    this.messageHtmlColorCode = messageHtmlColorCode;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.String getMessageInformationItem() {
    return messageInformationItem;
  }

  /**
   * @param messageInformationItem messageInformationItem or {@code null} for none
   */
  public Page setMessageInformationItem(java.lang.String messageInformationItem) {
    this.messageInformationItem = messageInformationItem;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.String getMessagePercentOfPageFromLeft() {
    return messagePercentOfPageFromLeft;
  }

  /**
   * @param messagePercentOfPageFromLeft messagePercentOfPageFromLeft or {@code null} for none
   */
  public Page setMessagePercentOfPageFromLeft(java.lang.String messagePercentOfPageFromLeft) {
    this.messagePercentOfPageFromLeft = messagePercentOfPageFromLeft;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.String getMessagePercentOfPageFromTop() {
    return messagePercentOfPageFromTop;
  }

  /**
   * @param messagePercentOfPageFromTop messagePercentOfPageFromTop or {@code null} for none
   */
  public Page setMessagePercentOfPageFromTop(java.lang.String messagePercentOfPageFromTop) {
    this.messagePercentOfPageFromTop = messagePercentOfPageFromTop;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.String getMessageWidthPercentOfPage() {
    return messageWidthPercentOfPage;
  }

  /**
   * @param messageWidthPercentOfPage messageWidthPercentOfPage or {@code null} for none
   */
  public Page setMessageWidthPercentOfPage(java.lang.String messageWidthPercentOfPage) {
    this.messageWidthPercentOfPage = messageWidthPercentOfPage;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.String getPageName() {
    return pageName;
  }

  /**
   * @param pageName pageName or {@code null} for none
   */
  public Page setPageName(java.lang.String pageName) {
    this.pageName = pageName;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.String getRevision() {
    return revision;
  }

  /**
   * @param revision revision or {@code null} for none
   */
  public Page setRevision(java.lang.String revision) {
    this.revision = revision;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.Boolean getShowPageTitle() {
    return showPageTitle;
  }

  /**
   * @param showPageTitle showPageTitle or {@code null} for none
   */
  public Page setShowPageTitle(java.lang.Boolean showPageTitle) {
    this.showPageTitle = showPageTitle;
    return this;
  }

  /**
   * @return value or {@code null} for none
   */
  public java.lang.String getTranslatedLanguages() {
    return translatedLanguages;
  }

  /**
   * @param translatedLanguages translatedLanguages or {@code null} for none
   */
  public Page setTranslatedLanguages(java.lang.String translatedLanguages) {
    this.translatedLanguages = translatedLanguages;
    return this;
  }

  @Override
  public Page set(String fieldName, Object value) {
    return (Page) super.set(fieldName, value);
  }

  @Override
  public Page clone() {
    return (Page) super.clone();
  }

}
